Comando "cat" seguido de > [RESOLVIDO]

1. Comando "cat" seguido de > [RESOLVIDO]

Daniel Marchi
DMS_

(usa elementary OS)

Enviado em 12/08/2011 - 11:39h

Olá,

Recentemente lendo o livro Servidores Linux do Morimoto, me deparei com algo bastante interessante:

$ man ls > ls.txt

O livro diz que o comando acima gera o manual do comando ls em um arquivo txt. Também diz

" As setas são exaustivamente usadas em shell scripts, pois permitem que eles sejam combinados das mais diversas formas."

Agora analisem o comando abaixo:

cat /var/log/apache2/access.log | grep 200.101.213.68

O comando lista apenas linhas contendo o endereço 200.101.213.68


Se quisesse jogar isso em um txt ficaria assim ? :

cat /var/log/apache2/access.log | grep 200.101.213.68 > log.txt



Pois isso aconteceu comigo recentemente, tive que puxar os acessos de um determinado IP ( aquo usamos IPCOP, um bem antigo já) fiz pela interface gráfica do ipcop, tive que ficar dando Ctrl+C e Ctrl+v dia por dia, acessos do dia 25/07 até dia 11/08, não foi tão trabalhoso porém via txt puro seria mais fácil.


OBS: O caminho " cat /var/log/apache2/access.log | grep 200.101.213.68 > log.txt" é apenas um exemplo, os logs do ipcop devem ficar em outra pasta^^


Obrigado.


  


2. Re: Comando "cat" seguido de > [RESOLVIDO]

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 12/08/2011 - 12:08h

Exatamente. O comando faria isso mesmo:

cat lista o arquivo

o pipe redireciona a saida do cat para a entrada do grep

o grep faz a busca

e o > envia a saida para o arquivo


Porem uma observacao importante. Apenas um > cria o arquivo especificado (log.txt do exemplo) se o arquivo nao existir. Caso o arquivo exista e voce usar o comando ele sobrescrevera o arquivo log.txt e colocara a saida do comando la, ou seja, voce perde o que tinha feito antes.

Para concatenar voce usa dois > ficando assim

cat /var/log/apache2/access.log | grep 200.101.213.68 >> log.txt

Nesse caso ele adiciona a saida do comando ao final do arquivo ja existente e voce nao perde o conteudo anterior


3. n4t4n

Daniel Marchi
DMS_

(usa elementary OS)

Enviado em 12/08/2011 - 13:00h

Pois é n4t4n, no livro ele cita isso, que o ">" sobreescreve se o arquivo já existir e o ">>" mescla, com o arquivo já existente,



Acabei de testar no trampo aqui com uma VM.....isso é muuuuito interessante!!!

Obrigado!


4. Re: Comando "cat" seguido de > [RESOLVIDO]

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 12/08/2011 - 17:03h

Por nada. Precisando estamos por aqui. E Viva o Linux.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts